iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 7
2

Python的程序結構

在說明Pyhton的撰寫風格之後又介紹了基本型別,接下來要介紹的是Python的程序結構。何謂程序結構呢,顧名思義就是程序進行的方向。Python有三種程序結構,接下來筆者會依序說明這三種程序結構:

本文章同步放置於此

順序結構

這是Python最基本的程序結構也是最容易說明的程序結構,其實在前面幾章節就已經利用這種程序結構介紹Python好幾次了,所謂順序結構就是由上而下由左至右來進行程序,更進一步說明請見下面例子:

varA = 1
varB = 2
varC = varA * varB
print(varC)

相信經過前面幾章的介紹讀者應該能夠瞭解上述這段程式碼再說甚麼,他的描述如下:

  1. varA存放一個記憶體位置放置整數1的位址
  2. varB存放一個記憶體位置放置整數2的位址
  3. varC存放一個記憶體位置計算varA * varB結果的位址
  4. varC列印出來
    如開頭說明程序的行進是由上而下,由左至右的方式進行,但是其中運算元又有其進行的先後順序,所以以上的例子最後會印出2在命令列上。

邏輯結構

邏輯結構的內容是當判斷條件是成立的時後就進入執行該項程序,若不成立就繼續檢查下一項邏輯判斷,由上往下檢查直到最後,所以以下列例子來說明邏輯結構的撰寫方式:

var = 10
if var is 10:
    print('var is 10')
elif var is 20:
    print('var is 20')
else:
    print('var is else')

這例子就比較進階一些了,不過學過程式語言的就知道他的意思是先判將var賦予一個10的記憶體位置,之後再檢查var的記憶體位置是否為10,若是則執行print('var is 10')若不是則檢查下一個式子elif var is 20:直到全部檢查完,因為這例子中var被賦予一個10的記憶體位置,所以在if var is 10:即成立,所以印出var is 10就離開該邏輯結構了。

循環結構

循環結構內容是程序會不斷地執行該循環結構內的程序,直到循環結構的限制條件達成為止,若是限制條件未被滿足就會不斷地執行就像是下列的例子

while 1:
    print('no stop')

當執行上述例子之後讀者將會不斷看到no stop直到讀者案ctrl + C強制中斷該程序才會停止,所以在寫循環結構時請先設定好結束條件避免無窮迴圈的產生。在說明完while的例子後再說明for的例子:

for x in range(1:10):
    for y in range(1:10):
        print('{0} * {1} = {2}'.format(x, y, x * y))

這就是for常示範的99乘法表

小結

到這邊一般的Python語法介紹告一段落了,如此已經可以開始開發一些小程序了。因為觀念的部分很容易有觀念錯誤的地方,而且沒有人提點還會不自覺的錯下去,所以寫錯的地方有問題還來信告知喔。最後不斷地寫同樣的程式是不符合工程師的精神,下一章會開始介紹方法的撰寫方式,敬請期待喔。


上一篇
DAY05-搞懂Python的內建型別
下一篇
DAY07-搞懂Python的方法
系列文
瓶子裡裝甚麼藥,使用Flask輕輕鬆鬆打造一個RESTful API31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
ceall8650
iT邦新手 4 級 ‧ 2019-03-04 19:47:34

如開頭說明程序的行進是由上而下,由左至右的方式進行,但是其中運算元又有其進行的先後順序,所以以上的例子最後會印出1在命令列上。

結果應該是2才對?

kirai iT邦新手 4 級 ‧ 2019-03-04 23:00:44 檢舉

感謝你的回應,的確是印出2才對
varA * varB 再assign 給 varC
所以印出來會是2才對

我要留言

立即登入留言